package com.houweishi.module.purchase.domain;

import com.houweishi.module.copy.domain.BizCopy;
import com.houweishi.module.record.domain.BizApprovalRecord;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.houweishi.common.annotation.Excel;
import com.houweishi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 采购申请对象 oa_purchase
 * 
 * @author houweishi
 * @date 2023-03-27
 */
@Data
public class OaPurchase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 用户id */
//    @Excel(name = "用户id")
    private Long userId;

    /** 用户名 */
    @Excel(name = "用户名")
    private String username;

    /** 状态 */
//    @Excel(name = "状态")
    private String status;

    /** 流水单号 */
//    @Excel(name = "流水单号")
    private String serialNum;

    /** 申请表类型id */
//    @Excel(name = "申请表类型id")
    private Long subscribePatternId;

    /** 申请表类型名称 */
    @Excel(name = "申请表类型名称")
    private String subscribePatternName;

    /** 审批人(多个） */
//    @Excel(name = "审批人(多个）")
    private String approver;

    /** 审批人姓名(多个） */
//    @Excel(name = "审批人姓名(多个）")
    private String approverName;

    /** 抄送人id（多个） */
//    @Excel(name = "抄送人id")
    private String copyerId;

    /** 抄送人姓名(多个） */
//    @Excel(name = "抄送人姓名(多个）")
    private String copyerName;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 是否使用模板（1是 2否） */
    @Excel(name = "是否使用模板")
    private String typeStatus;

    /** 模板id */
    //    @Excel(name = "模板id")
    private Long typeId;

    /** 模板名称 */
    @Excel(name = "模板名称")
    private String typeName;

    /** 抄送记录列表 */
    private List<BizCopy> bizCopyList;

    /** 审批记录列表 */
    private List<BizApprovalRecord> approvalRecordList;

    /** 采购申请产品列表 */
    private List<OaPurchaseProduct> purchaseProductList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setUsername(String username) 
    {
        this.username = username;
    }

    public String getUsername() 
    {
        return username;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setSerialNum(String serialNum) 
    {
        this.serialNum = serialNum;
    }

    public String getSerialNum() 
    {
        return serialNum;
    }
    public void setSubscribePatternId(Long subscribePatternId) 
    {
        this.subscribePatternId = subscribePatternId;
    }

    public Long getSubscribePatternId() 
    {
        return subscribePatternId;
    }
    public void setSubscribePatternName(String subscribePatternName) 
    {
        this.subscribePatternName = subscribePatternName;
    }

    public String getSubscribePatternName() 
    {
        return subscribePatternName;
    }
    public void setApprover(String approver) 
    {
        this.approver = approver;
    }

    public String getApprover() 
    {
        return approver;
    }
    public void setApproverName(String approverName) 
    {
        this.approverName = approverName;
    }

    public String getApproverName() 
    {
        return approverName;
    }
    public void setCopyerId(String copyerId) 
    {
        this.copyerId = copyerId;
    }

    public String getCopyerId() 
    {
        return copyerId;
    }
    public void setCopyerName(String copyerName) 
    {
        this.copyerName = copyerName;
    }

    public String getCopyerName() 
    {
        return copyerName;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("username", getUsername())
            .append("status", getStatus())
            .append("serialNum", getSerialNum())
            .append("subscribePatternId", getSubscribePatternId())
            .append("subscribePatternName", getSubscribePatternName())
            .append("approver", getApprover())
            .append("approverName", getApproverName())
            .append("copyerId", getCopyerId())
            .append("copyerName", getCopyerName())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
